{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "muduo网络库开发规范\n",
    "\n",
    "- 接口设计：\n",
    "  - `TcpServer`作为接口类应隐藏实现细节（通过`noncopyable`禁止拷贝）\n",
    "  - 使用`enum Optio`n配置选项（如`kNoReusePort`/`kReusePort）`\n",
    "- 线程模型：\n",
    "  - 支持单线程和线程池两种模式\n",
    "  - 通过`setThreadNum()`设置IO线程数量\n",
    "  - 新连接始终在`EventLoop`线程中接受\n",
    "- 回调机制：\n",
    "  - 提供`ThreadInitCallback`等回调接口\n",
    "  - 支持设置连接/消息/写完成等事件回调"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "学习路径建议：\n",
    "\n",
    "- 实践优先：必须先熟练使用muduo库开发项目\n",
    "- 循序渐进：从应用层逐步深入源码分析\n",
    "- 类比学习：如同操作系统使用，应先熟练使用再研究内核"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "核心注意事项：\n",
    "\n",
    "- 避免本末倒置：不可未使用就直接研究源码\n",
    "- 理解周期：有相关经验者理解更快，无经验者需更长时间\n",
    "- 代码示例：TcpServer包含连接管理、回调设置等典型Reactor模式实现"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "C++17",
   "language": "C++17",
   "name": "xcpp17"
  },
  "language_info": {
   "name": "C++17"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
